/* 
 * File:   stalemate.h
 * Author: cow
 *
 * Created on July 27, 2011, 4:46 PM
 */

#ifndef STALEMATE_H
#define	STALEMATE_H

//Includes-----------------------------
#include "Engine/cantrips/ImageFormats.h"
#include "Engine/screens/Screen.h"
#include "gui/customScreens.h"
#include <fstream>
#include <string>
#include <iostream>
#include <SDL/SDL.h>
using namespace std;
//Includes=============================

//prototypes---------------------------
int main(int argc, char* argv[]);
class controll;
//prototypes===========================

//definitions--------------------------
class controll{	//controll-------------
public:
	//constructors------
	static controll* getControll();
	virtual ~controll();
	//access------------
	static string getFleetFolder();
	static string getSaveFolder();
	static string getScnFolder();
	static screenManager* getScrManager();
	//game controll-----
	void Run();
	void update();
protected:
	//private cons------
	controll();
private:
	//file functions----
	void getFileNames();
	//singleton instance
	static controll* ctrl;
	//controll vars-----
	bool doQuit;
	bool pause;
	//graphics----------
	SDL_Surface* window;
	static screenManager screenMan;
	//folder names------
	static string fleetFolder;
	static string saveFolder;
	static string scnFolder;
	//event thread------
	pthread_attr_t EventThreadAttr;
	pthread_t EventThread;
	//update thread-----
	pthread_attr_t UpdateThreadAttr;
	pthread_t UpdateThread;
};
//definitions==========================

#endif	/* STALEMATE_H */

